【iOSDC Japan 2023 レポート】「複雑さに立ち向かうためのコードリーディング入門」を聞いてきた。
はじめに
年に一度のiOSエンジニアの為のお祭り iOSDC Japan 2023に参加しています。
せっかくなので、参加したセッションのレポートを書きたいと思います。
複雑さに立ち向かうためのコードリーディング入門
登壇者
- stzn3さん
概要
コードを読んでいる時、
「これは何をしてるんだろう?難しいなあ…」
と、内容がわからないもどかしさを感じたことはありませんでしょうか?僕はよく感じています。
これは、いわゆるコードの「複雑さ」から来ています。しかし、複雑かどうかは人によって異なりますし、また状況次第で変わります。
今回は、この「複雑さ」に焦点を当て立ち向かうためのコードの読み方について、みなさまと考えていきたいと思います。
日々の業務では、コードを書くよりも読む時間のほうが多い傾向にあり、コードの読み方を鍛えることで、日々の開発効率をより改善できる可能性があります。
- これまでコードの読み方についてあまり意識したことがなかった
- 読んでいるコードがわからずもどかしいと感じたことがある
そんな方々が、新しい視点を知り、コードに感じる複雑さを軽減できるようになるためのヒントを得る機会になりましたら幸いです。
引用: fortee
資料
感想
エンジニアはコードを書く機会より、読む機会の方が多く、読んでもわからなかったりする場合にすごい調べて、最終的にすごい疲れて情報過多シンドロームを起こしてしまうことがある。
情報過多シンドロームとは、脳に入ってくる多くの情報を処理できずに脳がオーバーフローを起こした状態。分からないから調べていたのに帰って逆効果になるようです。
認知プロセスの
- 短期記憶
- ワーキングメモリー
- 長期記憶
それぞれの観点から、コードを読むテクニックや、またコードを書くテクニックを紹介されていました。
特に感覚記憶からは沢山の情報が入ってくる為、いろいろな感覚から情報を入れるのが良いという話には驚きました。また、チャンク化をすることで脳に多くの情報を残りやすくしたり、別の情報に紐づけたりすることでも定着しやすくなる。さらに定期的に情報に触れるのも記憶の定着に良いとのことでした。
これはもしかしたら、調べて記事を書いて絵を描く行為が記憶定着にすごい効くのかもしれない。
ベアプログラミングという開発手法があるのも初めて知りましたので、今度試してみよう、、。
とてもタメになる学校の授業を聞いているような感覚で、とても面白かったです。
コードにしても、働く環境にしても脳に負担をかけない仕組み作りが大事ですね。
おわりに
記憶に定着させる為にこれかもブログとアイキャッチを描いていきたいと思います。なので、あの奇妙な絵の人だと紐付けて認識していただければ幸いです。
iOSDC 2023 レポート関連
Day0
- 「タクシーアプリの多言語対応・ローカライズにおける課題と解決策」を聞いてきた。
- 「Appleにおけるプライバシーの全容を把握する」を聞いてきた。
- 「SwiftUIの進化についていくためにやったこと」を聞いてきた。
- 「SharePlayの歴史と進化 - そしてvisionOSへ」を聞いてきた。
- 「UIKit ベースの Custom UIContentConfiguration API を用いた複雑なカスタムセルの作り方」を聞いてきた。
Day1
- 「TextKit 2 時代の iOS のキーボードとテキスト入力と表示のすべて」を聞いてきた。
- 「PushToTalkで作るトランシーバー」を聞いてきた。
- 「6年間運用したiOSアプリのリアーキテクトについて具体的に解説」を聞いてきた。
- 「Mastering SwiftSyntax」を聞いてきた。
- 「配信アプリのためのリアルタイムプッシュ通知ぼかしの夢 〜低負荷で高速なプライバシー保護を目指して」を聞いてきた。
- 「macOSで自分のカメラを作ってみよう – Core Media IO Extension」を聞いてきた。
- 基礎から理解する!来年春までに対応すべきプライバシーの変更点
- 「UIのブラックボックスを探る」を聞いてきた。
- 「なぜ、弊社はFlutterを捨ててネイティブ化(Swift / Kotlin)にコミットしたのか」を聞いてきた。
- 「正規表現を”微分”する!?爆速で自作できる正規表現エンジン」を聞いてきた。
- 「一般的な通信でも使えるバックグランドURLSessionの活用方法」を聞いてきた。
- 「SwiftUIでの非同期処理データの状態管理を考える」を聞いてきた。